home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Info-Mac 4
/
Info_Mac IV CD-ROM (Pacific HiTech Inc.)(August 1994).iso
/
Development
/
Source
/
tarsrc Folder
/
cmd.c
< prev
next >
Wrap
Text File
|
1992-11-04
|
1KB
|
81 lines
/*
* Macintosh TAR
*
* Written by Craig Ruff
*
* Command file routines and variables.
*/
#include "tar.h"
#include <SegLoad.h>
int
ReadStr255(short refNum, unsigned char *buf)
{
OSErr err;
int count;
unsigned char *cnt = buf;
unsigned char *p = &buf[1];
for (*cnt = 0; *cnt < 255; p++) {
count = 1;
if ((err = FSRead(refNum, &count, p)) != noErr) {
if (err == eofErr)
break;
OSAlert("\pReadStr255", "\pFSRead", nil, err);
return(-1);
}
(*cnt)++;
if (*p == '\n')
break;
}
return(*cnt);
}
void
ProcessCmdFile(short vRefNum, short versNum, Str255 fName)
{
#pragma unused(versNum)
OSErr err;
short refNum;
Str255 buf;
char *routine = "\pProcessCmdFile";
if ((err = FSOpen(fName, vRefNum, &refNum)) != noErr) {
OSAlert(routine, "\pFSOpen", fName, err);
return;
}
(void) WindInit();
while (ReadStr255(refNum, buf) > 0) {
WPrintf("%P", buf);
}
WindEnd(true);
FSClose(refNum);
}
Boolean
CmdFile()
{
short message, count, i;
AppFile theFile;
CountAppFiles(&message, &count);
if (count == 0)
return(false);
for (i = 1; i <= count; i++) {
GetAppFiles(i, &theFile);
if (theFile.fType == 'TEXT')
ProcessCmdFile(theFile.vRefNum, theFile.versNum, theFile.fName);
ClrAppFiles(i);
}
return(true);
}